#ifndef MYSTRINGMAP_H
#define MYSTRINGMAP_H

#include <iostream>
#include <map>
#include <string>

namespace nilyang {

typedef std::map<std::string, std::string> TStrStrMap;
typedef std::pair<std::string, std::string> TStrStrPair;

void func_mapstr();
class MyStrStrMap {
 public:
  MyStrStrMap();
  ~MyStrStrMap();

 private:
  TStrStrMap strMap;
};

// class MyStringMap
//{
// public:
//  typedef std::string string_type;
//  typedef TStrStrMap value_type;

// public:
//  MyStringMap(const value_type&& initData = {})
//    : mapStr(std::move(initData))
//  {}
//  MyStringMap(const MyStringMap&) = delete;
//  MyStringMap& operator=(const MyStringMap&) = delete;
//  MyStringMap(MyStringMap&&) = delete;
//  MyStringMap&& operator=(MyStringMap&&) = delete;

//  void PushKeyValue(const std::string&, const std::string&);
//  void PushKeyValue(const value_type&);
//  const std::string&& FindOrDefault(const std::string&,
//                                    const std::string&) const;

// private:
//  value_type mapStr;
//};
}  // namespace nilyang
#endif  // MYSTRINGMAP_H
